jobs[Linux命令]

jobs 是Linux命令 jobs 命令顯示了當前 shell 環境中已啟動的作業狀態。如果 JobID 參數沒有指定特定作業,就顯示所有的活動的作業的狀態信息。如果報告了一個作業的終止,shell 從當前的 shell 環境已知的列表中刪除作業的進程標識。

命令描述

/usr/bin/jobs ,因為此環境沒有適用的作業來處理。基於這個原因, jobs 命令實現為一個 Korn shell 或 POSIX shell 的常規內建命令。

如果指定了 -p 標誌,對於每一個進程標識,輸出構成一行。如果沒有指定標誌,標準輸出為帶以下欄位的幾行:

job-number 指出進程組號,以和 wait、fg、bg 和 kill 命令一起使用。當和這些命令一起使用時,在作業號前面加上一個“%”(百分號標誌)。

current 一個“+”(加標誌)標識了將被 fg 或 bg 命令作為預設值使用的作業。這個作業標識也能夠使用 %+ (百分號、加號)或 %% (雙百分號)來指定。

如果當前預設作業退出,就用一個“-”(減號標誌)來標識將要成為預設作業的作業。這個作業標識也可以用 %-(百分號、減號)來指定。

對於其他的作業,current 欄位是一個空格字元。僅一個作業能夠用 + 來標識,並且僅一個作業能夠用一個 - 來標識。如果有一個單一掛起作業,它就成為當前作業。如果存在至少兩個掛起的作業,那么前面的作業被掛起。

state 顯示以下值之一(在 POSIX 的語言環境下):

Running

表示此作業沒有被信號掛起並沒有退出。

Done

表示此作業已經完成並返回退出狀態 0。

Done (code)

表示此作業已經正常完成和退出並返回指定的非零退出狀態碼。這個代碼用一個十進制數來表示。

Stopped

表示此作業已經掛起。

Stopped (SIGTSTP)

表示 SIGTSTP 信號掛起作業。

Stopped (SIGSTOP)

表示 SIGSTOP 信號掛起作業。

Stopped (SIGTTIN)

表示 SIGTTIN 信號掛起作業。

Stopped (SIGTTOU)

表示 SIGTTOU 信號掛起作業。

command 給 shell 的有關命令。

如果指定了 -l 標誌,就把一包含進程組標識的欄位插入到 state 欄位之前。另外,在一個進程組中更多的進程可以輸出到一些獨立行中,只使用 job-number 和 command 欄位。

標誌

-l (小寫 L)提供了更多的關於列出的每一個作業的信息。此信息包括了作業號、當前作業、進程組標識、狀態和啟動作業的命令。

-n 顯示自從最後一次通知後停止或退出的作業。

-p 顯示了所選定的作業的進程組引導符的進程標識。

在預設情況下,jobs 命令顯示了所有已停止作業的狀態、所有的在後台正在運行的作業和那些狀態已經更改但沒有被 shell 報告的作業。

退出狀態

返回下面的退出值:

0 成功完成。

>0 發生一個錯誤。

命令示例

1. 要顯示當前環境下的作業的狀態,請輸入:

jobs -l

螢幕輸出與以下輸出類似的報告:

+[4] 139 Running CC - C foo c&

-[3] 465 Stopped mail morris

[2] 687 Done(1) foo.bar&

2. 要顯示那些名字以“m”打頭的作業的進程標識,請輸入:

job -p %m

使用示例 1 中報告的作業,螢幕顯示以下進程標識:

465

檔案

/usr/bin/ksh 包含 Korn shell jobs 內置命令。

/usr/bin/jobs 包含 jobs 命令。

相關詞條

相關搜尋

熱門詞條

聯絡我們